Building Theories in Nuprl

نویسنده

  • David A. Basin
چکیده

Concl t THEN Lemma `fs unroll`THENM ReduceConcl ;;* THM fs add card>> 8A:D. 8s:FS(A). 8x:|A|. :(x fAg s) => |s +fAg x| = |s|+1 in Int* THM fs del exists>> 8A:D. 8s1:FS(A). 8x:|A|. 9s2:FS(A).(8y:|A|. y fAg s2 <=> y fAg s1 & :(y=x in |A|))& (x fAg s1 => |s2| = |s1|-1)* THM fs del>> A:D -> FS(A) -> |A| -> FS(A)Extraction:A s x. fs del exists(A,s,x).1* DEF fs del -fg ==fs del(,,)* THM fs del char>> 8A:D. 8x:|A|. 8s:FS(A). 8y:|A|. y fAg (s -fAg x) <=> :(x=y in |A|) & y fAg s* THM fs del card>> 8A:D. 8s:FS(A). 8x:|A|. x fAg s => |s -fAg x| = |s|-1 in Int* THM subset card>>8A:D. 8s1,s2:FS(A). s1 fAg s2 => |s1| |s2|* THM card fnl>> 8A:D. 8s1,s2:FS(A). s1 =fAg s2 => |s1| = |s2|* THM fs union exists>> 8A:D. 8r1,r2:FS(A). 9r:FS(A). 8x:|A|.x fAg r <=> x fAg r1 _ x fAg r2* THM fs union>> A:D -> FS(A) -> FS(A) -> FS(A)Extraction:A s1 s2. fs union exists(A,s1,s2).1* DEF fs union [fg ==fs union(,,)* THM fs union char>> 8A:D. 8s1,s2:FS(A). 8x:|A|.x fAg s1 [fAg s2 <=> x fAg s1 _ x fAg s2* THM eq union char>>8A:D. 8r1,r2,s:FS(A). r1 [fAg r2 =fAg s => 8x:|A|. x fAg r1 _ x fAg r2 => x fAg s* THM disjoint>> A:D -> FS(A) -> FS(A) -> U1Extraction:A s1 s2. :(9x:|A|. x fAg s1 & x fAg s2)26 * DEF disjointdisjfg(,)==disjoint(,,)* THM plus union commute>>8A:D. 8s1,s2:FS(A). 8x:|A|. s1 +fAg x [fAg s2 =fAg s1 [fAg s2 +fAg x* THM union card>> 8A:D. 8s1,s2:FS(A). disjfAg(s1,s2) => |s1 [fAg s2| = |s1| + |s2|* THM pick>> 8A:D. 8s:FS(A). 0<|s| => 9x:|A|. x fAg s* THM small card subset>>8A:D. 8n:N. 8s:FS(A). n |s| => 9r:FS(A). r fAg s & |r| = n* THM members>> A:D -> FS(A) -> U1Extraction:A s. f x:|A| | x fAg s g* DEF memberseltsfg()==members(,)* THM doubleton>>A:D->|A|->|A|->FS(A)Extraction:A x y. fg +fAg x +fAg y* DEF doubletonf,:g==doubleton(,,)* THM doubleton char>>8A:D. 8x,y,z:|A|. z fAg fx,y:Ag <=> z = x in |A| _ z = y in |A|* THM doubleton card>>8A:D. 8x,y:|A|. :(x = y in |A|) => |fx,y:Ag| = 2* DEF elt eq =fg ==(= in )* THM fs comp>>8A:D. 8s:FS(A). 8P:eltsfAg(s)->U1. 8x:eltsfAg(s). P(x) _ :(P(x)) => 9r1,r2:FS(A). 8x:eltsfAg(s).x fAg r1 <=> x fAg s & P(x) & x fAg r2 <=> x fAg s & :(P(x)) & disjfAg(r1,r2) & r1 [fAg r2=fAg s* THM Graph>> U2Extraction:A:D # V:FS(A) # E: (eltsfAg(V)->eltsfAg(V)->U1) #8x,y:eltsfAg(V). E(x,y) _ :(E(x,y)) &8x,y:eltsfAg(V). E(x,y) <=> E(y,x) & 8x:eltsfAg(V). :(E(x,x))* DEF GraphGraph==Graph* DEF Graph carrier27 ||==Graph carrier()* THM Graph carrier>>G:Graph->DExtraction:G. G.1* THM vertex>>G:Graph->FS(|G|)Extraction:G. G.2.1* DEF vertexV()==vertex(G)* THM edges>>G:Graph->eltsf|G|g(V(G))->eltsf|G|g(V(G))->U1Extraction:G. G.2.2.1* DEF edgesE()==edges()* THM ramfunc>>N+->f2..g->f2..g->U2Extraction:n l1 l2. 8G:Graph. n |V(G)| => 9s:FS(|G|). s f|G|g V(G) & |s| = l1 & 8x,y f|G|g s.:(x =f||G||g y) => E(G)(x,y) _ |s| = l2 & 8x,y f|G|g s. :(E(G)(x,y))* DEF ramfunc! (,)==ramfunc()()()* ML GraphElet GraphE newids i =GenProductE newids i THENUnfoldsInConcl ``Graph carrier vertex edges`` THEN ReduceConcl THEN Thin i ;;* THM fset prop>>8A:D. 8s:FS(A). 8P:eltsfAg(s)->U1. 8x fAg s. P(x) _ :(P(x)) => 8x fAg s. P(x) _ 9x fAgs. :(P(x))* THM fset2 prop>>8A:D. 8s:FS(A). 8P:eltsfAg(s)->eltsfAg(s)->U1. 8x,y fAg s. P(x)(y) _ :(P(x)(y)) => 8x,yfAg s. P(x)(y) _ 9x,y fAg s. :(P(x)(y))* ML DecideCaseslet MakeDecideCases v1 v2 n p =( Decide (make equal term (get type p v1) [v1;v2]) THENInstHyp [v1;v2] n THENM OnLastHyp E) p ;;let SolveDecideCases = %Decide Trivial Cases %Complete (ILeft THENM ILeft...) ORELSEComplete (ILeft THENM IRight ...) ORELSEComplete (IRight THENM ILeft...) ORELSEComplete (IRight THEN IRight...) ORELSE 28 % Double Negation Case %Complete (IRight THENM I THENM OnLastHyp E THENMBackchain...) ;;let DecideCases v1 v2 n =MakeDecideCases v1 v2 n THENM Try SolveDecideCases ;;* THM ramsey>>8l1,l2:f2..g. 9n:N+. n! (l1,l2)* EVAL demo% list procedures %let hd = l. [ nil ! "?"; h.t,v ! h; @ l] ;;let tl = l. [ nil ! nil; h.t,v ! t; @ l] ;;let nthtl = n l.x. [ 0 ! x ; i, v ! tl(v) ; @ n](l);;let member = x l tt ff. % i x in l return tt else ff %[ nil ! ff; h.t,v ! if x=h then tt else v; @ l] ;;let lookup = x y G tt ff. % lookup in adjacency list %l. member(y)(l)(tt)(ff) (hd (nthtl(x-1,G))) ;;let make list = n. [ 0 ! (nil) ; i, v ! (i.v) ; @ n] ;;let length = l. [ nil ! 0; h.t,v ! 1+v; @ l] ;;% Graph Making Procedures. Make an integer graph froman adjacency list. Recall a graph is a 4-tuple:Discrete Type # Vertex Set # Edge Relation #Edge Decision Procdure & Other Edge Properties %let make graph = l.<,< x y. lookup(x)(y)(l)(int)(void),< x y. lookup(x)(y)(l)(inl(0))(inr( z.axiom)),< x y. < z.0, z.0>, x . z.0>>>>> ;;let ram = term of(ramsey) ;;let ram n = l1 l2. ram(l1)(l2).1 ;;let ram clique = l1 l2 g. ram(l1)(l2).2(g)(axiom).1 ;;let ram decide = l1 l2 g.decide(ram(l1)(l2).2(g)(axiom).2.2; u."Clique";u."Independent Set") ;;29 Appendix 2 | Ramsey's Theorem>> 8l1,l2:f2..g. 9n:N+. n! (l1,l2)| BY (OnVar `l1` (NonNegInd `j1`)...*)| 1. j1:int| 2. j1 = 2|>> 8l2:f2..g. 9n:N+. n! (j1,l2)| | BY (I THENM ITerm 'l2'...)| | 3. l2:f2..g| | 4. G:Graph| | 5. l2 |V(G)|| |>> 9s:FS(|G|). s f|G|g V(G) & |s| = j1 & 8x,y f|G|g s. ((:(x=y in ||G||))->E(G)(x,y))_ |s| = l2 & 8x,y f|G|g s. (:(E(G)(x,y)))| | | BY (BringHyp 5 THEN GraphE ``A V E`` 4...)| | | 4. A:D| | | 5. V:FS(A)| | | 6. E:eltsfAg(V)->eltsfAg(V)->U1| | | 7. x5:8x,y:eltsfAg(V). E(x,y) _ :(E(x,y))| | | 8. x7:8x,y:eltsfAg(V). E(x,y) <=> E(y,x)| | | 9. x8:8x:eltsfAg(V). :(E(x,x))| | | 10. l2 |V|| | |>> 9s:FS(A). s fAg V & |s| = j1 & 8x,y fAg s. ((:(x=y in |A|))->E(x,y)) _ |s| = l2& 8x,y fAg s. (:(E(x,y)))| | | | BY (Cases ['8x,y fAg V. z w. z = w in |A| _ :(E(z,w))(x)(y)';'9x,y fAg V. :( zw. z = w in |A| _ :(E(z,w))(x)(y))']...)| | | |>> 8x,y fAg V. z w. z=w in |A| _ :(E(z,w))(x,y) _ 9x,y fAg V. :( z w. z=w in |A|_ :(E(z,w))(x,y))| | | | | BY (Lemma `fset2 prop` THEN ReduceConcl...) THEN (DecideCases 'x' 'y' 7...)| | | | 11. 8x,y fAg V. z w. z=w in |A| _ :(E(z,w))(x,y)| | | |>> 9s:FS(A). s fAg V & |s| = j1 & 8x,y fAg s. ((:(x=y in |A|))->E(x,y)) _ |s| =l2 & 8x,y fAg s. (:(E(x,y)))| | | | | BY (InstLemma `small card subset` ['A';'l2';'V']...) THEN OnLastHyp EThin| | | | | 12. a14:FS(A)| | | | | 13. a14 fAg V & |a14| = l2| | | | |>> 9s:FS(A). s fAg V & |s| = j1 & 8x,y fAg s. ((:(x=y in |A|))->E(x,y)) _ |s|= l2 & 8x,y fAg s. (:(E(x,y)))| | | | | | BY (ITerm 'a14'...) THEN (IRight...)| | | | | | 13. a14 fAg V| | | | | | 14. |a14| = l2| | | | | | 15. a14 fAg V| | | | | | 16. |a14| = l2| | | | | | 17. x:|A|| | | | | | 18. y:|A|| | | | | | 19. x fAg a14| | | | | | 20. y fAg a14| | | | | | 21. E(x,y)| | | | | |>> void| | | | | | | BY (InstHyp ['x';'y'] 11 THENS OnLastHyp E THEN Try Backchain...)| | | | | | | 22. x=y in |A| _ :(E(x,y))| | | | | | | 23. x=y in |A|| | | | | | |>> void| | | | | | | | BY (SubstForInHyp 'y=x in eltsfAg(V)' 21!)| | | | | | | | THEN OnLastHyp i. BringHyp i THEN (Backchain...)| | | | 11. 9x,y fAg V. :( z w. z=w in |A| _ :(E(z,w))(x,y))30 | | | |>> 9s:FS(A). s fAg V & |s| = j1 & 8x,y fAg s. ((:(x=y in |A|))->E(x,y)) _ |s| =l2 & 8x,y fAg s. (:(E(x,y)))| | | | | BY (RepeatProductE ``x y`` 11 THENM ITerm 'fx,y:Ag'...) THEN| | | | | ((OnLastHyp i. HypChar `doubleton char` i THENS OnLastHyp E !!)| | | | |ORELSE (ILeft...))| | | | | 11. x:|A|| | | | | 12. x fAg V| | | | | 13. y:|A|| | | | | 14. y fAg V| | | | | 15. :( z w. z=w in |A| _ :(E(z,w))(x,y))| | | | | 16. fx,y:Ag fAg V| | | | |>> |fx,y:Ag| = j1| | | | | | BY (SubstFor (h 2 p)...) THEN (Lemma `doubleton card`...)| | | | | | THEN (E 15 THENM ReduceConcl...) THEN (ILeft...)| | | | | 11. x:|A|| | | | | 12. x fAg V| | | | | 13. y:|A|| | | | | 14. y fAg V| | | | | 15. :( z w. z=w in |A| _ :(E(z,w))(x,y))| | | | | 16. fx,y:Ag fAg V| | | | | 17. |fx,y:Ag| = j1| | | | | 18. x@0:|A|| | | | | 19. y@0:|A|| | | | | 20. x@0 fAg fx,y:Ag| | | | | 21. y@0 fAg fx,y:Ag| | | | | 22. :(x@0=y@0 in |A|)| | | | |>> E(x@0,y@0)| | | | | | BY (Assert 'E(x,y)' THENM| | | | | |f. f 21 THEN f 20 ( i. HypChar `doubleton char` i)...)| | | | | | THEN Try (Complete (OnLastHyp E THEN UnfoldInConcl `doubleton` !!))| | | | | | 20. :(x@0=y@0 in |A|)| | | | | | 21. y@0=x in |A| _ y@0=y in |A|| | | | | | 22. x@0=x in |A| _ x@0=y in |A|| | | | | |>> E(x,y)| | | | | | | BY (Decide 'x=y in |A|' THEN InstHyp ['x';'y'] 7 THENM OnLastHyp E...)| | | | | | | THEN (E 15 THEN ReduceConcl...) THEN (IRight...)| | | | | | 20. :(x@0=y@0 in |A|)| | | | | | 21. E(x,y)| | | | | | 22. y@0=x in |A| _ y@0=y in |A|| | | | | | 23. x@0=x in |A| _ x@0=y in |A|| | | | | |>> E(x@0,y@0)| | | | | | | BY (E 22 THEN E 23...) THEN Try (Complete (E 20...))| | | | | | | 24. y@0=x in |A|| | | | | | | 25. x@0=y in |A|| | | | | | |>> E(x@0,y@0)| | | | | | | | BY (SubstForInHyp 'x=y@0 in eltsfAg(V)' 21 !) THEN| | | | | | | | (OnLastHyp (SubstForInHyp 'y=x@0 in eltsfAg(V)') !!)| | | | | | | | THEN (BackThruHyp 8!)| | | | | | | 24. y@0=y in |A|| | | | | | | 25. x@0=x in |A|| | | | | | |>> E(x@0,y@0)| | | | | | | | BY (SubstForInHyp 'x=x@0 in eltsfAg(V)' 21 !) THEN| | | | | | | | (OnLastHyp (SubstForInHyp 'y=y@0 in eltsfAg(V)') !!)| 1. j1:int| 2. 231 | 3. 8l2:f2..g. 9n:N+. n! (j1-1,l2)|>> 8l2:f2..g. 9n:N+. n! (j1,l2)| | BY (OnVar `l2` (NonNegInd `j2`)...)| | 4. j2:int| | 5. j2 = 2| |>> 9n:N+. n! (j1,j2)| | | BY (ITerm 'j1'...)| | | 6. G:Graph| | | 7. j1 |V(G)|| | |>> 9s:FS(|G|). s f|G|g V(G) & |s| = j1 & 8x,y f|G|g s. ((:(x=y in ||G||))->E(G)(x,y))_ |s| = j2 & 8x,y f|G|g s. (:(E(G)(x,y)))| | | | BY (BringHyp 7 THEN GraphE ``A V E`` 6...)| | | | 6. A:D| | | | 7. V:FS(A)| | | | 8. E:eltsfAg(V)->eltsfAg(V)->U1| | | | 9. x6:8x,y:eltsfAg(V). E(x,y) _ :(E(x,y))| | | | 10. x8:8x,y:eltsfAg(V). E(x,y) <=> E(y,x)| | | | 11. x9:8x:eltsfAg(V). :(E(x,x))| | | | 12. j1 |V|| | | |>> 9s:FS(A). s fAg V & |s| = j1 & 8x,y fAg s. ((:(x=y in |A|))->E(x,y)) _ |s| =j2 & 8x,y fAg s. (:(E(x,y)))| | | | | BY (Cases ['8x,y fAg V. z w. z = w in |A| _ E(z,w)(x)(y)';'9x,y fAg V. :( z w.z = w in |A| _ E(z,w)(x)(y))']...)| | | | |>> 8x,y fAg V. z w. z=w in |A| _ E(z,w)(x,y) _ 9x,y fAg V. :( z w. z=w in |A|_ E(z,w)(x,y))| | | | | | BY (Lemma `fset2 prop` THEN ReduceConcl...) THEN (DecideCases 'x' 'y' 9...)| | | | | 13. 8x,y fAg V. z w. z=w in |A| _ E(z,w)(x,y)| | | | |>> 9s:FS(A). s fAg V & |s| = j1 & 8x,y fAg s. ((:(x=y in |A|))->E(x,y)) _ |s|= j2 & 8x,y fAg s. (:(E(x,y)))| | | | | | BY (InstLemma `small card subset` ['A';'j1';'V']...) THEN (OnLastHyp EThin...)| | | | | | 14. a13:FS(A)| | | | | | 15. a13 fAg V| | | | | | 16. |a13| = j1| | | | | |>> 9s:FS(A). s fAg V & |s| = j1 & 8x,y fAg s. ((:(x=y in |A|))->E(x,y)) _ |s|= j2 & 8x,y fAg s. (:(E(x,y)))| | | | | | | BY (ITerm 'a13' ...) THEN (ILeft...)| | | | | | | 17. a13 fAg V| | | | | | | 18. |a13| = j1| | | | | | | 19. x:|A|| | | | | | | 20. y:|A|| | | | | | | 21. x fAg a13| | | | | | | 22. y fAg a13| | | | | | | 23. :(x=y in |A|)| | | | | | |>> E(x,y)| | | | | | | | BY (InstHyp ['x';'y'] 13 THENS OnLastHyp E THEN Try Backchain...)| | | | | | | | 24. x=y in |A| _ E(x,y)| | | | | | | | 25. x=y in |A|| | | | | | | |>> E(x,y)| | | | | | | | | BY Contradiction| | | | | 13. 9x,y fAg V. :( z w. z=w in |A| _ E(z,w)(x,y))| | | | |>> 9s:FS(A). s fAg V & |s| = j1 & 8x,y fAg s. ((:(x=y in |A|))->E(x,y)) _ |s|= j2 & 8x,y fAg s. (:(E(x,y)))| | | | | | BY (RepeatProductE ``x y`` 13 THENM ITerm 'fx,y:Ag'...)| | | | | | THEN ((OnLastHyp (HypChar `doubleton char`) THENS OnLastHyp E!)| | | | | |ORELSE (IRight...))| | | | | | 13. x:|A|32 | | | | | | 14. x fAg V| | | | | | 15. y:|A|| | | | | | 16. y fAg V| | | | | | 17. :( z w. z=w in |A| _ E(z,w)(x,y))| | | | | | 18. fx,y:Ag fAg V| | | | | |>> |fx,y:Ag| = j2| | | | | | | BY (SubstFor (h 5 p) ...) THEN (Lemma `doubleton card`...)| | | | | | | THEN (E 17 THENM ReduceConcl...) THEN (ILeft...)| | | | | | 13. x:|A|| | | | | | 14. x fAg V| | | | | | 15. y:|A|| | | | | | 16. y fAg V| | | | | | 17. :( z w. z=w in |A| _ E(z,w)(x,y))| | | | | | 18. fx,y:Ag fAg V| | | | | | 19. |fx,y:Ag| = j2| | | | | | 20. x@0:|A|| | | | | | 21. y@0:|A|| | | | | | 22. x@0 fAg fx,y:Ag| | | | | | 23. y@0 fAg fx,y:Ag| | | | | | 24. E(x@0,y@0)| | | | | |>> void| | | | | | | BY ( f. f 23 THEN f 22( i. HypChar `doubleton char` i)...)| | | | | | | 22. E(x@0,y@0)| | | | | | | 23. y@0=x in |A| _ y@0=y in |A|| | | | | | | 24. x@0=x in |A| _ x@0=y in |A|| | | | | | |>> void| | | | | | | | BY (EThin 24 THEN EThin 23 ...)| | | | | | | | 23. x@0=x in |A|| | | | | | | | 24. y@0=x in |A|| | | | | | | |>> void| | | | | | | | | BY (SubstForInHyp 'x@0=x in eltsfAg(V)' 22!) THEN| | | | | | | | | (OnLastHyp (SubstForInHyp 'y@0=x in eltsfAg(V)')!)| | | | | | | | | THEN (EOn 'x' 11!) THEN (Contradiction...)| | | | | | | | 23. x@0=x in |A|| | | | | | | | 24. y@0=y in |A|| | | | | | | |>> void| | | | | | | | | BY (E 17 ...) THEN (IRight...) THEN| | | | | | | | | (SubstFor 'x=x@0 in eltsfAg(V)'!) THEN| | | | | | | | | (SubstFor 'y=y@0 in eltsfAg(V)'!)| | | | | | | | 23. x@0=y in |A|| | | | | | | | 24. y@0=x in |A|| | | | | | | |>> void| | | | | | | | | BY (E 17 ...) THEN (IRight...) THEN| | | | | | | | | (SubstFor 'x=y@0 in eltsfAg(V)'!) THEN| | | | | | | | | (SubstFor 'y=x@0 in eltsfAg(V)'!) THEN| | | | | | | | | (BackThruHyp 10!)| | | | | | | | 23. x@0=y in |A|| | | | | | | | 24. y@0=y in |A|| | | | | | | |>> void| | | | | | | | | BY (SubstForInHyp 'x@0=y in eltsfAg(V)' 22!) THEN| | | | | | | | | (OnLastHyp (SubstForInHyp 'y@0=y in eltsfAg(V)')!)| | | | | | | | | THEN (EOn 'y' 11!) THEN (Contradiction...)| | 4. j2:int| | 5. 2| | 6. 9n:N+. n! (j1,j2-1)33 | |>> 9n:N+. n! (j1,j2)| | | BY (EOnThin 'j2' 3 THEN EThin 5 THEN EThin 5...)| | | 3. j2:int| | | 4. 2| | | 5. a4:N+| | | 6. a4! (j1,j2-1)| | | 7. a5:N+| | | 8. a5! (j1-1,j2)| | |>> 9n:N+. n! (j1,j2)| | | | BY (ITerm 'a4 + a5'...) THEN Try (E 7 THEN E 5 THEN MonoFromHyps `+`...*)| | | | 9. G:Graph| | | | 10. a4+a5 |V(G)|| | | |>> 9s:FS(|G|). s f|G|g V(G) & |s| = j1 & 8x,y f|G|g s. ((:(x=y in ||G||))->E(G)(x,y))_ |s| = j2 & 8x,y f|G|g s. (:(E(G)(x,y)))| | | | | BY (BringHyp 10 THEN GraphE ``A V E`` 9...)| | | | | 9. A:D| | | | | 10. V:FS(A)| | | | | 11. E:eltsfAg(V)->eltsfAg(V)->U1| | | | | 12. x9:8x,y:eltsfAg(V). E(x,y) _ :(E(x,y))| | | | | 13. x11:8x,y:eltsfAg(V). E(x,y) <=> E(y,x)| | | | | 14. x12:8x:eltsfAg(V). :(E(x,x))| | | | | 15. a4+a5 |V|| | | | |>> 9s:FS(A). s fAg V & |s| = j1 & 8x,y fAg s. ((:(x=y in |A|))->E(x,y)) _ |s|= j2 & 8x,y fAg s. (:(E(x,y)))| | | | | | BY InstLemma `pick` ['A';'V'] THEN Try (E 7 THEN E 5 THENS MonoFromHyps `+`...*)| | | | | | THEN OnLastHyp EThin| | | | | | 16. v0:|A|| | | | | | 17. v0 fAg V| | | | | |>> 9s:FS(A). s fAg V & |s| = j1 & 8x,y fAg s. ((:(x=y in |A|))->E(x,y)) _ |s|= j2 & 8x,y fAg s. (:(E(x,y)))| | | | | | | BY (InstLemma `fs comp` ['A';'V -fAg v0';'E(v0)'] THENM Try Backchain...)| | | | | | | THEN Try (Ext...) THEN (Id!)| | | | | | | 18. 9r1,r2:FS(A). 8x:eltsfAg(V -fAg v0). x fAg r1 <=> x fAg V -fAg v0 & E(v0,x)& x fAg r2 <=> x fAg V -fAg v0 & :(E(v0,x)) & disjfAg(r1,r2) & r1 [fAg r2 =fAg V -fAg v0| | | | | | |>> 9s:FS(A). s fAg V & |s| = j1 & 8x,y fAg s. ((:(x=y in |A|))->E(x,y)) _|s| = j2 & 8x,y fAg s. (:(E(x,y)))| | | | | | | | BY (RepeatProductE ``r1 r2`` 18 THENM Assert 'a4+a5-1 |r1|+|r2|'...)| | | | | | | | 18. r1:FS(A)| | | | | | | | 19. r2:FS(A)| | | | | | | | 20. 8x:eltsfAg(V -fAg v0). x fAg r1 <=> x fAg V -fAg v0 & E(v0,x) & x fAg r2<=> x fAg V -fAg v0 & :(E(v0,x))| | | | | | | | 21. disjfAg(r1,r2)| | | | | | | | 22. r1 [fAg r2 =fAg V -fAg v0| | | | | | | | 23. |r1|+|r2|<(a4+a5)-1| | | | | | | |>> void| | | | | | | | | BY (FLemma `union card` [21] THENS FLemma `card fnl` [22]| | | | | | | | | THENS InstLemma `fs del card` ['A';'V';'v0']...)| | | | | | | | 18. r1:FS(A)| | | | | | | | 19. r2:FS(A)| | | | | | | | 20. 8x:eltsfAg(V -fAg v0). x fAg r1 <=> x fAg V -fAg v0 & E(v0,x) & x fAg r2<=> x fAg V -fAg v0 & :(E(v0,x))| | | | | | | | 21. disjfAg(r1,r2)| | | | | | | | 22. r1 [fAg r2 =fAg V -fAg v0| | | | | | | | 23. (a4+a5)-1 |r1|+|r2|| | | | | | | |>> 9s:FS(A). s fAg V & |s| = j1 & 8x,y fAg s. ((:(x=y in |A|))->E(x,y))_ |s| = j2 & 8x,y fAg s. (:(E(x,y)))34 | | | | | | | | | BY (Assert 'a5 |r1| _ a4 |r2|' THENS OnLastHyp EThin...)| | | | | | | | | THENO ((Decide '|r1|| | | | | | | | | 23. a5 |r1|| | | | | | | | |>> 9s:FS(A). s fAg V & |s| = j1 & 8x,y fAg s. ((:(x=y in |A|))->E(x,y))_ |s| = j2 & 8x,y fAg s. (:(E(x,y)))| | | | | | | | | | BY (EOnThin '>>>>' 8...)| | | | | | | | | | THEN OnLastHyp (UnfoldsInHyp ``Graph carrier vertex edges``)| | | | | | | | | | THEN Try (Complete (RepeatExt!))| | | | | | | | | | 8. A:D| | | | | | | | | | 9. V:FS(A)| | | | | | | | | | 10. E:eltsfAg(V)->eltsfAg(V)->U1| | | | | | | | | | 11. x9:8x,y:eltsfAg(V). E(x,y) _ :(E(x,y))| | | | | | | | | | 12. x11:8x,y:eltsfAg(V). E(x,y) <=> E(y,x)| | | | | | | | | | 13. x12:8x:eltsfAg(V). :(E(x,x))| | | | | | | | | | 14. a4+a5 |V|| | | | | | | | | | 15. v0:|A|| | | | | | | | | | 16. v0 fAg V| | | | | | | | | | 17. r1:FS(A)| | | | | | | | | | 18. r2:FS(A)| | | | | | | | | | 19. 8x:eltsfAg(V -fAg v0). x fAg r1 <=> x fAg V -fAg v0 & E(v0,x) & x fAgr2 <=> x fAg V -fAg v0 & :(E(v0,x))| | | | | | | | | | 20. disjfAg(r1,r2)| | | | | | | | | | 21. r1 [fAg r2 =fAg V -fAg v0| | | | | | | | | | 22. a5 |r1|| | | | | | | | | | 23. (a5 |r1|)->9s:FS(A). s fAg r1 & |s| = j1-1 & 8x,y fAg s. ((:(x=yin |A|))->E(x,y)) _ |s| = j2 & 8x,y fAg s. (:(E(x,y)))| | | | | | | | | |>> 9s:FS(A). s fAg V & |s| = j1 & 8x,y fAg s. ((:(x=y in |A|))->E(x,y))_ |s| = j2 & 8x,y fAg s. (:(E(x,y)))| | | | | | | | | | | BY (EThin 23 ...) THEN Repeat (OnLastHyp EThin)| | | | | | | | | | | 23. a16:FS(A)| | | | | | | | | | | 24. a16 fAg r1| | | | | | | | | | | 25. |a16| = j1-1| | | | | | | | | | | 26. 8x,y fAg a16.((:(x=y in |A|))->E(x,y))| | | | | | | | | | |>> 9s:FS(A). s fAg V & |s| = j1 & 8x,y fAg s. ((:(x=y in |A|))->E(x,y))_ |s| = j2 & 8x,y fAg s. (:(E(x,y)))| | | | | | | | | | | | BY ((ITerm 'a16 +fAg v0'...)!) THEN (ILeft...)| | | | | | | | | | | | 27. a16 +fAg v0 fAg V| | | | | | | | | | | |>> |a16 +fAg v0| = j1| | | | | | | | | | | | | BY (InstLemma `fs add card` ['A';'a16';'v0']...) THEN| | | | | | | | | | | | | (EOnThin 'v0' 24 THENS OnLastHyp EThin...) THEN (EThin 21...)| | | | | | | | | | | | | 21. a5 |r1|| | | | | | | | | | | | | 22. a16:FS(A)| | | | | | | | | | | | | 23. |a16| = j1-1| | | | | | | | | | | | | 24. 8x,y fAg a16. ((:(x=y in |A|))->E(x,y))| | | | | | | | | | | | | 25. a16 +fAg v0 fAg V| | | | | | | | | | | | | 26. 8A:D. 8s:FS(A). 8x:|A|. (:(x fAg s))->(|s +fAg x| = |s|+1)| | | | | | | | | | | | | 27. v0 fAg a16| | | | | | | | | | | | | 28. v0 fAg r1| | | | | | | | | | | | | 29. r1 [fAg r2 fAg V -fAg v0| | | | | | | | | | | | | 30. V -fAg v0 fAg r1 [fAg r2| | | | | | | | | | | | |>> void| | | | | | | | | | | | | | BY (EOnThin 'v0' 29...) THEN (OnLastHyp EThin!)| | | | | | | | | | | | | | THEN (OnLastHyp (HypChar `fs del char`) THENS Contradiction...)| | | | | | | | | | | | 27. a16 +fAg v0 fAg V| | | | | | | | | | | | 28. |a16 +fAg v0| = j135 | | | | | | | | | | | | 29. x:|A|| | | | | | | | | | | | 30. y:|A|| | | | | | | | | | | | 31. x fAg a16 +fAg v0| | | | | | | | | | | | 32. y fAg a16 +fAg v0| | | | | | | | | | | | 33. :(x=y in |A|)| | | | | | | | | | | |>> E(x,y)| | | | | | | | | | | | | BY (Decide 'x=v0 in |A|' THEN Decide 'y=v0 in |A|'...)| | | | | | | | | | | | | 34. x=v0 in |A|| | | | | | | | | | | | | 35. y=v0 in |A|| | | | | | | | | | | | |>> E(x,y)| | | | | | | | | | | | | | BY (E 33...)| | | | | | | | | | | | | 34. x=v0 in |A|| | | | | | | | | | | | | 35. :(y=v0 in |A|)| | | | | | | | | | | | |>> E(x,y)| | | | | | | | | | | | | | BY (SubstFor 'x=v0 in eltsfAg(V)'!) THEN (BackThruHyp 19!)| | | | | | | | | | | | | 34. :(x=v0 in |A|)| | | | | | | | | | | | | 35. y=v0 in |A|| | | | | | | | | | | | |>> E(x,y)| | | | | | | | | | | | | | BY (BackThruHyp 12...) THEN| | | | | | | | | | | | | | (SubstFor 'y=v0 in eltsfAg(V)'!) THEN (BackThruHyp 19!)| | | | | | | | | | | | | 34. :(x=v0 in |A|)| | | | | | | | | | | | | 35. :(y=v0 in |A|)| | | | | | | | | | | | |>> E(x,y)| | | | | | | | | | | | | | BY (BackThruHyp 26!)| | | | | | | | | | | 23. a16:FS(A)| | | | | | | | | | | 24. a16 fAg r1| | | | | | | | | | | 25. |a16| = j2| | | | | | | | | | | 26. 8x,y fAg a16. (:(E(x,y)))| | | | | | | | | | |>> 9s:FS(A). s fAg V & |s| = j1 & 8x,y fAg s. ((:(x=y in |A|))->E(x,y))_ |s| = j2 & 8x,y fAg s. (:(E(x,y)))| | | | | | | | | | | | BY ((ITerm 'a16'...)!) THEN (IRight...)| | | | | | | | | 23. a4 |r2|| | | | | | | | |>> 9s:FS(A). s fAg V & |s| = j1 & 8x,y fAg s. ((:(x=y in |A|))->E(x,y))_ |s| = j2 & 8x,y fAg s. (:(E(x,y)))| | | | | | | | | | BY (EOnThin '>>>>' 6...)| | | | | | | | | | THEN OnLastHyp (UnfoldsInHyp ``Graph carrier vertex edges``)| | | | | | | | | | THEN Try (Complete (RepeatExt!))| | | | | | | | | | 6. a5:N+| | | | | | | | | | 7. a5! (j1-1,j2)| | | | | | | | | | 8. A:D| | | | | | | | | | 9. V:FS(A)| | | | | | | | | | 10. E:eltsfAg(V)->eltsfAg(V)->U1| | | | | | | | | | 11. x9:8x,y:eltsfAg(V). E(x,y) _ :(E(x,y))| | | | | | | | | | 12. x11:8x,y:eltsfAg(V). E(x,y) <=> E(y,x)| | | | | | | | | | 13. x12:8x:eltsfAg(V). :(E(x,x))| | | | | | | | | | 14. a4+a5 |V|| | | | | | | | | | 15. v0:|A|| | | | | | | | | | 16. v0 fAg V| | | | | | | | | | 17. r1:FS(A)| | | | | | | | | | 18. r2:FS(A)| | | | | | | | | | 19. 8x:eltsfAg(V -fAg v0). x fAg r1 <=> x fAg V -fAg v0 & E(v0,x) & x fAgr2 <=> x fAg V -fAg v0 & :(E(v0,x))| | | | | | | | | | 20. disjfAg(r1,r2)| | | | | | | | | | 21. r1 [fAg r2 =fAg V -fAg v0| | | | | | | | | | 22. a4 |r2|36 | | | | | | | | | | 23. (a4 |r2|)->9s:FS(A). s fAg r2 & |s| = j1 & 8x,y fAg s. ((:(x=yin |A|))->E(x,y)) _ |s| = j2-1 & 8x,y fAg s. (:(E(x,y)))| | | | | | | | | |>> 9s:FS(A). s fAg V & |s| = j1 & 8x,y fAg s. ((:(x=y in |A|))->E(x,y))_ |s| = j2 & 8x,y fAg s. (:(E(x,y)))| | | | | | | | | | | BY (EThin 23...) THEN Repeat (OnLastHyp EThin)| | | | | | | | | | | 23. a16:FS(A)| | | | | | | | | | | 24. a16 fAg r2| | | | | | | | | | | 25. |a16| = j1| | | | | | | | | | | 26. 8x,y fAg a16. ((:(x=y in |A|))->E(x,y))| | | | | | | | | | |>> 9s:FS(A). s fAg V & |s| = j1 & 8x,y fAg s. ((:(x=y in |A|))->E(x,y))_ |s| = j2 & 8x,y fAg s. (:(E(x,y)))| | | | | | | | | | | | BY ((ITerm 'a16'...)!) THEN (ILeft...)| | | | | | | | | | | 23. a16:FS(A)| | | | | | | | | | | 24. a16 fAg r2| | | | | | | | | | | 25. |a16| = j2-1| | | | | | | | | | | 26. 8x,y fAg a16. (:(E(x,y)))| | | | | | | | | | |>> 9s:FS(A). s fAg V & |s| = j1 & 8x,y fAg s. ((:(x=y in |A|))->E(x,y))_ |s| = j2 & 8x,y fAg s. (:(E(x,y)))| | | | | | | | | | | | BY ((ITerm 'a16 +fAg v0'...)!) THEN (IRight...)| | | | | | | | | | | | 27. a16 +fAg v0 fAg V| | | | | | | | | | | |>> |a16 +fAg v0| = j2| | | | | | | | | | | | | BY (InstLemma `fs add card` ['A';'a16';'v0']...) THEN| | | | | | | | | | | | | (EOnThin 'v0' 24 THENS OnLastHyp EThin...) THEN| | | | | | | | | | | | | (EThin 21...)| | | | | | | | | | | | | 21. a4 |r2|| | | | | | | | | | | | | 22. a16:FS(A)| | | | | | | | | | | | | 23. |a16| = j2-1| | | | | | | | | | | | | 24. 8x,y fAg a16. (:(E(x,y)))| | | | | | | | | | | | | 25. a16 +fAg v0 fAg V| | | | | | | | | | | | | 26. 8A:D. 8s:FS(A). 8x:|A|. (:(x fAg s))->(|s +fAg x| = |s|+1)| | | | | | | | | | | | | 27. v0 fAg a16| | | | | | | | | | | | | 28. v0 fAg r2| | | | | | | | | | | | | 29. r1 [fAg r2 fAg V -fAg v0| | | | | | | | | | | | | 30. V -fAg v0 fAg r1 [fAg r2| | | | | | | | | | | | |>> void| | | | | | | | | | | | | | BY (EOnThin 'v0' 29 ...) THEN (OnLastHyp EThin!) THEN| | | | | | | | | | | | | | (OnLastHyp (HypChar `fs del char`) THENS Contradiction...)| | | | | | | | | | | | 27. a16 +fAg v0 fAg V| | | | | | | | | | | | 28. |a16 +fAg v0| = j2| | | | | | | | | | | | 29. x:|A|| | | | | | | | | | | | 30. y:|A|| | | | | | | | | | | | 31. x fAg a16 +fAg v0| | | | | | | | | | | | 32. y fAg a16 +fAg v0| | | | | | | | | | | | 33. E(x,y)| | | | | | | | | | | |>> void| | | | | | | | | | | | | BY (Decide 'x=v0 in |A|' THEN Decide 'y=v0 in |A|'...)| | | | | | | | | | | | | THEN BringHyp 33| | | | | | | | | | | | | 34. x=v0 in |A|| | | | | | | | | | | | | 35. y=v0 in |A|| | | | | | | | | | | | |>> :(E(x,y))| | | | | | | | | | | | | | BY SubstFor 'x=v0 in eltsfAg(V)' THENM SubstFor 'y=v0 in eltsfAg(V)'| | | | | | | | | | | | | | THEN (Try Backchain!)| | | | | | | | | | | | | 34. x=v0 in |A|| | | | | | | | | | | | | 35. :(y=v0 in |A|)| | | | | | | | | | | | |>> :(E(x,y)) 37 | | | | | | | | | | | | | | BY SubstFor 'x=v0 in eltsfAg(V)' THEN (Try (BackThruHyp 19)!)| | | | | | | | | | | | | 34. :(x=v0 in |A|)| | | | | | | | | | | | | 35. y=v0 in |A|| | | | | | | | | | | | |>> :(E(x,y))| | | | | | | | | | | | | | BY (Assert 'E(v0,x)' THENO BackThruHyp 12 THENO SubstFor 'v0=y ineltsfAg(V)'!)| | | | | | | | | | | | | | 36. E(v0,x)| | | | | | | | | | | | | | 37. E(x,y)| | | | | | | | | | | | | |>> void| | | | | | | | | | | | | | | BY BringHyp 36 THEN (BackThruHyp 19!)| | | | | | | | | | | | | 34. :(x=v0 in |A|)| | | | | | | | | | | | | 35. :(y=v0 in |A|)| | | | | | | | | | | | |>> :(E(x,y))| | | | | | | | | | | | | | BY (BackThruHyp 26!)38

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

System Description : A Nuprl - PVS Connection : Integrating Libraries of Formal Mathematics ∗

∗ This work was supported by ONR Grant N00014-01-1-0765 (Building Interactive Digital Libraries of Formal Algorithmic Knowledge) and by NSF Grant CCR 0204193 (Proof Automation in Constructive Type Theory). Abstract. We describe a link between the Nuprl and PVS proof systems that enables users to access PVS from the Nuprl theorem proving environment, to import PVS theories into the Nuprl library...

متن کامل

Building reliable, high-performance networks with the Nuprl proof development system

Proof systems for expressive type theories provide a foundation for the verification and synthesis of programs. But despite their successful application to numerous programming problems there remains an issue with scalability. Are proof environments capable of reasoning about large software systems? Can the support they offer be useful in practice? In this article we answer this question by sho...

متن کامل

Proof Assistants and the Dynamic Nature of Formal Theories

This article shows that theory exploration arises naturally from the need to progressively modify applied formal theories, especially those underpinning deployed systems that change over time or need to be attack-tolerant. Such formal theories require us to explore a problem space with a proof assistant and are naturally dynamic. The examples in this article are from our on-going decade-long ef...

متن کامل

Importing Isabelle Formal Mathematics into Nuprl

Isabelle and NuPRL are two theorem proving environments that are written in diierent dialects of ML using diierent formula syntaxes and diierent logical foundations. In spite of this, they have similar sets of basic theories, representing the same mathematical concepts. This paper presents the design of an automated converter from Isabelle into NuPRL that allows sharing formal knowledge between...

متن کامل

Innovations in computational type theory using Nuprl

For twenty years the Nuprl (“new pearl”) system has been used to develop software systems and formal theories of computational mathematics. It has also been used to explore and implement computational type theory (CTT) – a formal theory of computation closely related to Martin-Löf’s intuitionistic type theory (ITT) and to the calculus of inductive constructions (CIC) implemented in the Coq prov...

متن کامل

Proof Exchange for Theorem Proving — Second International Workshop , PxTP 2012 Manchester , UK June 30 , 2012

This article shows that theory exploration arises naturally from the need to progressively modify applied formal theories, especially those underpinning deployed systems that change over time or need to be attack-tolerant. Such formal theories require us to explore a problem space with a proof assistant and are naturally dynamic. The examples in this article are from our on-going decade-long ef...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1989